#pragma once

#include "PointLabCore\Prerequisites.h"

namespace PointLabCore
{
	enum class CLASS_TYPE
	{
		OBJECT,
		ENTITY,
		POINT_CLOUD,
		MESH,
	};

	class POINTLABCORE_EXPORT Object
	{
	public:
		Object();
		Object(std::string name);

		Object(const Object& obj);
		virtual ~Object();

		void setName(const std::string& name);
		std::string getName()const;

		bool isA(CLASS_TYPE type)const;

		virtual CLASS_TYPE classID() const;

	protected:
		std::string mName;
	};
}
